In order to prevent leakage of the contents of document data generated by a word processor, code data of a computer program, statistical data, total data, and the like, the data are enciphered.
Encryption processing has been conventionally performed using as a key used for enciphering data (an encryption key) a key entered from an input device such as a keyboard or a key selected from a key table stored in a device for performing encryption processing (a computer system, etc.).
In such a conventional method, however, an encryption key (=a decryption key) may, in some cases, be seen by a third person or orally conveyed to a third person due to carelessness of a person who performs encryption processing (a creator of ciphertext), whereby it is highly possible that the encryption key is known by the third person. Consequently, the secrecy of the data cannot be sufficiently held. When a manager of ciphertext other than the creator of ciphertext sees the contents of the ciphertext, the creator must inform the manager of a decryption key for each production of ciphertext. When the creator informs the manager of the decryption key, the decryption key may be known by the third person due to carelessness or the like. In addition, the management of a correspondence between the ciphertext and the decryption key also becomes complicated for both the creator and the manager.
Furthermore, generally in a company or the like, a staff member generates ciphertext, and his or her superior manages the ciphertext. In such a case, the superior desires to prevent the ciphertext from being deciphered and known by a third person due to carelessness of the staff member by making it impossible for the staff member to decipher the ciphertext. That is, the superior has a strong request to intensively manage the secrecy of the ciphertext.